<?php
class functions{

	/**
	 * 设置COOKIE
	 * @param  $name
	 * @param  $value
	 * @param  $time 过期时间,0则关闭浏览器失效
	 */
	static function setCookie($name, $value, $time=0){
		$expires = $time ? self::time()+(int)$time : 0;
		setcookie($name, $value, $expires, '/');
	}
	
	/**
	 * 发送UTF-8头
	 */
	static function header(){
		header("Content-Type:text/html;charset=utf-8");
	}
	
	/**
	 * 
	 * @param 跳转到指定的URL
	 */
	static function redirect($url){
		if($url){
			header("Location:$url");
			exit;
		}
	}
	
	/**
	 * 根据magic_quote判断是否为变量添加斜杠
	 * @param mix $mixVar
	 * @return mix
	 */
	static function magic_quote( $mixVar){
		if( ! get_magic_quotes_gpc()){
            if(is_array( $mixVar)){
                foreach ( $mixVar as $key => $value){
                    $temp[$key] = self::magic_quote( $value);
                }
            }else{
                $temp = addslashes( $mixVar); 
            }
            return $temp;
        }else{
        	return $mixVar;
        }
	}

	/**
   	 * 返回UNIX时间戳   
   	 * @param boolen $float 是否精确到微秒
   	 * @return int/float
   	 */
	static function time( $float=false){
		return $float ? microtime( true) : time();
	}

	/**
	 * 正整型
	 */
	static function uint( $num){
		return max(0, (int)$num);
	}
	
	static function uisset($a,$defaut = ''){
		return ( isset($a) && trim($a) ) ? $a : $defaut;
	}
	
	/**
	 * 把字符串反序列成索引数组
	 * @param String $string
	 */
	public function unserialize( $string){
		parse_str(str_replace(array(':',','), array('=','&'), $string), $array);
		return (array)$array;
	}
	
	/**
	 * 获得随机字符串
	 *
	 * @param int $len
	 * @return string
	 */
	public function getRandStr( $len = 8 ) {
		$return = '';
		$str = "ABCDEFGHKLMNPRSTUVWYZabcdefghkmnprstuvwyz"; //待输出的字符集
		$sLen = strlen( $str ) - 1;

		for( $i = 0 ; $i < $len; $i++ ) {
			$s .= $str[ mt_rand(0, $sLen) ];
		}
		$return = $s;

		return $return;
	}
}